home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Sample Code / Snippets / Sound / WaveTable Sounds / SquareWaveSynthPlay.c next >
Encoding:
C/C++ Source or Header  |  1994-11-12  |  1.3 KB  |  77 lines  |  [TEXT/MPS ]

  1. /*
  2.     SquareWaveSynthPlay 12:29:17 PM  10/13/92 •  Brigham Stevens
  3.     
  4.     Plays a sound using the squareWaveSynth.
  5.  
  6.     Sets the timbre with timbreCmd
  7.     Starts playing witht the freqCmd
  8.     
  9. ##
  10. ##    copy to worksheet, select, press enter
  11. ###    
  12. ##    BuildCommands:
  13. ##
  14.     C -r  SquareWaveSynthPlay.c
  15.     Link -t APPL -c '????' SquareWaveSynthPlay.c.o ∂
  16.         "{Libraries}"Runtime.o ∂
  17.         "{Libraries}"Interface.o ∂
  18.         -o SquareWaveSynthPlay
  19.     SquareWaveSynthPlay
  20. */
  21.  
  22. #include <Dialogs.h>
  23. #include <Sound.h>
  24.  
  25. void SquareWaveSynthPlay()
  26. {
  27.     SndChannelPtr    chan;
  28.     SndCommand        mycmd;
  29.     long            count;
  30.     short            change = 0;
  31.     short            err;
  32.     
  33.     
  34.     /* Allocate a channel tied to the squareWaveSynth */
  35.     chan = nil;
  36.     err = SndNewChannel (&chan, squareWaveSynth, 0, nil);
  37.     if (err) {
  38.         DebugStr("\p error SndNewChannel [2]");
  39.         goto bail;
  40.     }
  41.     
  42.     mycmd.cmd = freqCmd;
  43.     mycmd.param1 = 0;
  44.     mycmd.param2 = 50;
  45.     
  46.     err = SndDoImmediate (chan, &mycmd);
  47.     if (err) {
  48.         DebugStr("\p error SndDoImmediate [3]");
  49.         goto bail;
  50.     }
  51.         
  52.     mycmd.cmd = timbreCmd;
  53.     mycmd.param1 = 0;
  54.     mycmd.param2 = 86;
  55.     
  56.     err = SndDoImmediate (chan, &mycmd);
  57.     if (err) {
  58.         DebugStr("\p error SndDoImmediate [3]");
  59.         goto bail;
  60.     }
  61.     
  62.     Delay (180, &count);
  63.         
  64.     err = SndDisposeChannel (chan,false);
  65.     if (err) {
  66.         DebugStr("\p error SndDisposeChannel [2]");
  67.         goto bail;
  68.     }
  69. bail:
  70.     return;
  71. }
  72.  
  73.  
  74. main()
  75. {
  76.     SquareWaveSynthPlay();
  77. }